--[[
    函数：lua3_lab_get_product
    功能：添加模版
    参数：ARGV[1]:doc_id 作品 id
    返回：返回数组：
            0:code,0表示成功，其它表示没搜索到结果中途退出
            1:logo_img，logo 对应的图形缩略图地址
            2:switch_list，作品对应的可切换模板/商品列表
--]]

-- ########################################################

-- 分类的前缀
local PREFIX_TYPE = "lab_type_"
-- 标签的前缀
local PREFIX_LABEL_INDUSTRY = "lab_label_industry_"
local PREFIX_LABEL_SCENE = "lab_label_scene_"
local PREFIX_LABEL_STYLE = "lab_label_style_"
local PREFIX_LABEL_COLOR = "lab_label_color_"
local PREFIX_LABEL_CUSTOM = "lab_label_custom_"
local PREFIX_PRODUCT = "lab_product_"

-- 排序的key
local KEY_SORT = "lab_sort"
-- ID-模版缓存的前缀
local PREFIX_DESIGN = "lab_d_"

-- key的连接符号
local PREFIX_S = "*"
-- 数组字符串的分割符号
local PREFIX_ARRAY_SPLIT = ","

-- product的hash表的几个filed名称
local PRODUCT_HASH_KEY_FILED_LOGO_IMG = "logo_img"
local PRODUCT_HASH_KEY_FILED_SWITCH_LIST = "switch_list"
local PRODUCT_HASH_KEY_FILED_SEL_CONTENT_ID = "sel_content_id"


-- ########################################################
-- [局部函数] 组成返回值数组，第0个是错误码，第1个是logo_img，第2个是switch_list
local retData = function(code,logo_img,switch_list, sel_content_id)
    local ret = {}
    table.insert(ret, code)

    table.insert(ret, logo_img)

    table.insert(ret, switch_list)

    table.insert(ret, sel_content_id)
    return ret
end


-- ########################################################
-- 参数检测
local doc_id = ARGV[1]

-- ########################################################
-- "id－模版缓存”hash表
local key = PREFIX_PRODUCT..doc_id
local r = redis.call('hmget',key, PRODUCT_HASH_KEY_FILED_LOGO_IMG, PRODUCT_HASH_KEY_FILED_SWITCH_LIST, PRODUCT_HASH_KEY_FILED_SEL_CONTENT_ID)


return retData(0,r[1],r[2],r[3])
-- ########################################################
